Telegram Group & Telegram Channel
Как устроена под капотом HashMap?

Это структура данных, основанная на хешировании, реализующая интерфейс Map. Она использует массив бакетов, где каждый элемент хранится в виде пары "ключ-значение".

Основные моменты:

🔹 Хеширование: для каждого ключа вычисляется хеш-код с помощью метода hashCode(). Этот код используется для определения индекса в массиве бакетов.

🔹 Коллизии: если два разных ключа имеют одинаковый хеш-код (коллизия), они помещаются в один бакет. До Java 8 коллизии обрабатывались с помощью связанного списка, начиная с Java 8 — с помощью сбалансированных деревьев.

🔹 Динамическое расширение: когда нагрузка достигает 75% от текущего размера массива (порог загрузки), HashMap увеличивает размер массива в два раза и перераспределяет элементы, чтобы уменьшить вероятность коллизий.

🔹 Балансировка дерева: если в бакете больше 8 элементов, то список преобразуется в сбалансированное дерево, что улучшает производительность при большом количестве коллизий.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1



tg-me.com/java_interview_lib/972
Create:
Last Update:

Как устроена под капотом HashMap?

Это структура данных, основанная на хешировании, реализующая интерфейс Map. Она использует массив бакетов, где каждый элемент хранится в виде пары "ключ-значение".

Основные моменты:

🔹 Хеширование: для каждого ключа вычисляется хеш-код с помощью метода hashCode(). Этот код используется для определения индекса в массиве бакетов.

🔹 Коллизии: если два разных ключа имеют одинаковый хеш-код (коллизия), они помещаются в один бакет. До Java 8 коллизии обрабатывались с помощью связанного списка, начиная с Java 8 — с помощью сбалансированных деревьев.

🔹 Динамическое расширение: когда нагрузка достигает 75% от текущего размера массива (порог загрузки), HashMap увеличивает размер массива в два раза и перераспределяет элементы, чтобы уменьшить вероятность коллизий.

🔹 Балансировка дерева: если в бакете больше 8 элементов, то список преобразуется в сбалансированное дерево, что улучшает производительность при большом количестве коллизий.

🐸 Библиотека собеса по Java

BY Библиотека собеса по Java | вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/java_interview_lib/972

View MORE
Open in Telegram


Библиотека собеса по Java | вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Telegram Gives Up On Crypto Blockchain Project

Durov said on his Telegram channel today that the two and a half year blockchain and crypto project has been put to sleep. Ironically, after leaving Russia because the government wanted his encryption keys to his social media firm, Durov’s cryptocurrency idea lost steam because of a U.S. court. “The technology we created allowed for an open, free, decentralized exchange of value and ideas. TON had the potential to revolutionize how people store and transfer funds and information,” he wrote on his channel. “Unfortunately, a U.S. court stopped TON from happening.”

Spiking bond yields driving sharp losses in tech stocks

A spike in interest rates since the start of the year has accelerated a rotation out of high-growth technology stocks and into value stocks poised to benefit from a reopening of the economy. The Nasdaq has fallen more than 10% over the past month as the Dow has soared to record highs, with a spike in the 10-year US Treasury yield acting as the main catalyst. It recently surged to a cycle high of more than 1.60% after starting the year below 1%. But according to Jim Paulsen, the Leuthold Group's chief investment strategist, rising interest rates do not represent a long-term threat to the stock market. Paulsen expects the 10-year yield to cross 2% by the end of the year. A spike in interest rates and its impact on the stock market depends on the economic backdrop, according to Paulsen. Rising interest rates amid a strengthening economy "may prove no challenge at all for stocks," Paulsen said.

Библиотека собеса по Java | вопросы с собеседований from it


Telegram Библиотека собеса по Java | вопросы с собеседований
FROM USA